package com.qd.common.panda.domain.entity.card.redeemcode;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.qd.common.panda.domain.entity.card.CardInfoDTO;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Optional;

/**
 * 发劵统计
 * @author sjk
 */
@Data
@Accessors(chain = true)
public class CardRedeemCodeDTO {
    @JsonIgnore
    private String cardMsgId;
    /**
     * 劵信息
     */
    private CardInfoDTO cardInfo;
    /**
     * 卷总数量
     */
    private Long totalCount;
    /**
     * 未兑换数量
     */
    private Long redemptionNo;
    /**
     * 已兑换数量
     */
    private Long redemptionYes;
    /**
     * 未使用数量
     */
    private Long useNo;
    /**
     * 已使用数量
     */
    private Long useYes;

    public void freeData() {
        Optional.ofNullable(cardInfo).ifPresent(CardInfoDTO::freeData);
        this.totalCount = null;
        this.redemptionNo = null;
        this.redemptionYes = null;
        this.useNo = null;
        this.useYes = null;
    }
}